package com.itcg.springboot01change.service;

import com.itcg.springboot01change.pojo.Product;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface ProductService {
    // 单条件查询
    Product getById(Integer id);

    // 多条件模糊查询
    List<Product> getByCondition(Map<String, Object> params);

    // 查询全部
    List<Product> getAll();

    // 新增
    int insert(@Param("product") Product product);

    // 批量新增
    int batchInsert(@Param("list") List<Product> productList);

    // 更新
    int update(Product product);

    // 动态字段更新
    int dynamicUpdate(Map<String, Object> params);

    // 单个删除
    int delete(Integer id);

    // 批量删除
    int batchDelete(List<Integer> ids);

    // 条件删除
    int deleteByCondition(Map<String, Object> params);

    // 分页查询
    List<Product> getByPage(Map<String, Object> params);

    // 查询总数
    int count( Map<String, Object> params);
}
